// Evol scripts.
// Authors:
//    Alige
//    Reid
// Description:
//    Cookie NPC, beware, if you don't take your cookie, she'll keep it!
// Variables:
//    General_Cookies
// Values:
//    0   Default, didn't get a cookie.
//    1   Get a cookie.

001-1,39,38,0	script	Cookie Master	NPC_COOKIE_MASTER,{
    if ((countitem(517) == 0) && (getq(General_Cookies) == 1))
        goto L_LostCookie;
    if (getq(General_Cookies) == 1)
        goto L_GetCookie;

    mesn;
    mesq lg("Hey! Adventurer! Are you enjoying your life on Aemil?");
    next;

    select
        l("Well in fact...");

    mes "";
    mesn;
    mesq l("Shht shht!");
    next;
    mesq l("Don't tell me more, I know what you want...");
    next;
    mesq l("A cookie!");
    next;

    menu
        l("I'd love one!"), -,
        l("No thank you, I'm fine. I'll come back later."), L_Bye;

    mes "";
    mesn;
    mesq lg("Of course you do! Just listen carefully to these words my sweet.");
    next;
    mesq l("Cookies are a source of life.");
    next;
    mesq l("Cookies provide you strength, health and cuteness.");
    next;
    mesq l("Cookies are awesome, so am I.");

    menu
        l("Uhm... Your story seems..."), L_StorySeems,
        l("Wait... That's not a proper place for a chef, what are you doing there?"), L_Presentation,
        l("Exactly! Can I have one now?"), -;

L_Check:
    mes "";
    mesn;
    mesq l("Let me check my cookie list...");
    next;

// Beta3 Contributors.
    if (strcharinfo(0) == "4144") goto L_Reward;
    if (strcharinfo(0) == "Alige") goto L_Reward;
    if (strcharinfo(0) == "enchilado") goto L_Reward;
    if (strcharinfo(0) == "hal9000") goto L_Reward;
    if (strcharinfo(0) == "Reid") goto L_Reward;
    if (strcharinfo(0) == "Socapex") goto L_Reward;
    if (strcharinfo(0) == "Kenny690") goto L_Reward;
    if (strcharinfo(0) == "Nelson6e65") goto L_Reward;
    if (strcharinfo(0) == "Steel Zenn") goto L_Reward;
// Aurora1 Contributors.

    mesq l("I'm sorry but I can't see your name anywhere.");
    next;
    mesq l("You see, folks around here that get my cookies have the distinction of being...");
    next;

    menu
        l("Seriously? It's just a cookie you know... Tell me what I should do to get one."), L_MTaskExpanation,
        l("Yes, yes I know... Too bad then. See you soon!"), L_Bye;

L_StorySeems:
    mes "";
    mesn;
    mesq l("What about my story?");
    next;

    menu
        l("It's interesting and exciting at the same time!"), -,
        l("Honestly, it's quite far-fetched according to me."), L_Kick;

    mes "";
    menu
        l("Too bad. I'm not hungry enough for these cookies of yours. Maybe I'll come back later."), L_Bye,
        l("How can I get one of these cookies?"), -;

    mes "";
    mesn;
    mesq g(l("It looks like the sweet lady is curious, am I right?"),
           l("It seems the gentleman is curious, am I right sweetie?"));
    next; 
    mesq lg("Well, if you ever do want to join: 'Ye Merry Club Of Thee Bequeathed With Cookies'...");
    next;

L_BTaskExpanation:
    mes "";
    mesn;
L_TaskExpanation:
    mesq l("You'll first need to help my friends.");
    next;
    mesq l("It is them, after all, who have the ultimate decision as to those I can give my cookies to.");
    next;

    menu
        l("So you're under the control of a dictatorship? That's... reassuring!"), L_Control,
        l("Who are these friends?"), L_Friends;

L_Friends:
    mes "";
    mesn;
    mesq l("Shht shht!");
    next;
    mesq l("Don't say it so loudly, other people could hear us.");
    next;
    mesq l("My friends are... Well, you know... The creators.");
    next;
    mesq l("I can't give you a cookie for free. But I can give you this hint for how you may be added to my list.");
    next;
    mesq l("Now listen to and ponder my words...");
    next;
    mesq l("If you see weird things here and there, or things that just shouldn't be, or even in your minds eye, things that you would like to see...");
    next;
    mesq l("Simply contact them, by forum or wispers or irc. When you are helpful and kind, they respond in kind. And in time they may surely add you to my cookie list!");
    next;

    mesn "Narrator";
    mes col(l("This Cookie Master rewards people who contribute and develop this world."), 9);
    next;
    mes col(lg("If you want to be rewarded, help us in making this world a better place."), 9);
    next;
    mes col(l("When you see something that looks more like a bug than a feature, report it on http://bugs.evolonline.org or try to contact a game contributor."), 9);
    next;
    mes col(l("Any contribution to the game (translations, graphics creation/edition, concepts, coding/scripting, etc...) is rewarded!"), 9);

    mes "";
    mesn;
    mesq l("So, do you still want a cookie?");
    next;

    menu
        l("I wish I helped your friends, because I'd really, really like a cookie."), -,
        l("You tell me. Do I deserve a cookie?"), L_Check;

    mes "";
    mesn;
    mesq l("Don't worry, I'm sure you will help them soon enough!");
    next;

    goto L_Bye;

L_Presentation:
    mes "";
    mesn;
    mesq l("For a chef? Who said I was a... Oh right, I am.");
    next;
    mesq l("I was sent here with a task. I can give you a perfect, wonderful, magnificent, superbly well shaped... Cookie!");
    next;
    mesq l("But...");
    next;

    goto L_TaskExpanation;

L_Reward:
    mesq l("Yes! @@ is written on my cookie list.", strcharinfo(0));
    next;
    mesq lg("That's quite surprising... You don't look very helpful.");
    next;
    mesq l("Anyway, here, have a cookie!");

    inventoryplace 517, 1;

    setq General_Cookies, 1;
    getnameditem 517, strcharinfo(0);
    npctalk3 l("You receive a @@!", getitemlink(517));

    next;
    mesq lg("I'm sure you'll appreciate its effect, but be careful, these cookies are rare, and you'll need to help the community again before being able to receive another one.");
    next;

    goto L_Bye;

L_Control:
    mes "";
    mesn;
    mesq l("C'mon, don't be like that and loosen up! Don't you want to know who's behind all of this?!");
    next;

    menu
        l("Why not, this might get interesting."), L_Friends,
        l("Fine, tell me, who are these all important friends of yours?"), -,
        l("No, and I gotta go, see you."), L_Kick;

    mes "";
    mesn;
    mesq l("Don't belittle me, my work is deserving of the highest esteem.");
    next;

L_Kick:
    closedialog;

    npctalk3 l("No cookie for you!");
    warp "001-1.gat", 39, 41;

    close;

L_GetCookie:
    mesq l("Hey, I'm not a Keebler Elvis! You won't have another one by stalking me like that!");
    next;
    mesq l("If you want another cookie, you know what to do!");
    next;
    mesq l("Now, move!");
    next;

    goto L_Bye;

L_LostCookie:
    mesq l("Hey, how was the...");
    next;
    mesq l("Wait a minute, where's the cookie I gave you?");
    next;
    mesq l("I'm talking about the cookie in which I put all my love inside!");
    next;
    mesq l("The best, the wonderful, the most choice cookie among all others, the...");
    next;
    // Angry emote
    mesq l("Grr...");
    next;
    mesq l("You're lucky that I'm a generous person, here's another one.");
    next;
    mesq l("This is the last one. If you use it again out of clumsiness, I will use your soft moist parts in the concoction of my next cookie batch.");
    next;

    inventoryplace 517, 1;
    getnameditem 517, strcharinfo(0);

    npctalk3 l("You receive a @@!", getitemlink(517));

L_Bye:
    closedialog;

    npctalk3 l("See you later!");

    close;

OnInit:
    .sex = G_FEMALE;
    .distance = 2;
    end;
}
